/*
 一些废话：
 0000 bitset 不提供 iterator。
 0001 valarray 也是。
 0010 所以，老老实实用int i不好吗？
 0011 想想看，一个八元bitset才占用一个字节。
 0100 但是，deque<bool> 占用的空间就是……
 0101 不过（大概）不会爆内存吧，哈哈。
 0110 十分钟写出了一个使用 iterator 的版本，然后 debug，找 distance() 的用法花了俩小时……
 0111 即便如此，仍旧懒得用int i重写一遍。
 1000 学艺不精，懒得一B，酿就惨案。
 */
#include <cstdio>
#include <cstdlib>
#include <deque>

namespace
{
    int itorCt = 0;
    int mainCt = 0;
}

using namespace std;

int main()
{
    int size;
    int *sizeP = &size;
    while( scanf("%d", sizeP) != -1 )
    {
        deque<bool> mainBs(size, 0);
        for (auto it = mainBs.begin(); true; )
        {
            if (itorCt == 2 && *it == 0)
            {
                *it = 1;
                itorCt = 0;
                ++mainCt;
                if (mainCt == size)
                {
                    printf("%ld\n", distance(mainBs.begin(), it));
                    mainCt = 0;
                    break;
                }
                if (it < mainBs.end())
                    ++it;
                else
                    it = mainBs.begin();
            }
            else if (*it == 0)
            {
                if (it < mainBs.end())
                {
                    ++itorCt;
                    ++it;
                }
                else
                {
                    it = mainBs.begin();
                    ++itorCt;
                }
            }
            else
                if (it < mainBs.end())
                    ++it;
                else
                    it = mainBs.begin();
        }
        free(sizeP);
    }
    return 0;
}
